package com.ruoyi.generator.util;

import java.util.Properties;

import org.apache.velocity.app.Velocity;
import com.ruoyi.common.constant.Constants;

/**
 * VelocityEngine工厂
 *
 * @author ruoyi
 */
public class VelocityInitializer {
    /**
     * 初始化vm方法
     *
     * 该方法用于初始化Velocity模板引擎，设置资源加载器和字符编码，
     * 使Velocity能够从classpath下加载vm模板文件并正确处理UTF-8编码
     */
    public static void initVelocity() {
        Properties p = new Properties();
        try {
            // 配置Velocity从classpath加载资源
            p.setProperty("resource.loader.file.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
            // 设置输入编码为UTF-8
            p.setProperty(Velocity.INPUT_ENCODING, Constants.UTF8);
            // 初始化Velocity引擎
            Velocity.init(p);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

